\section{CliqueTrees}

Para calcular los 'arboles, se rescata toda la informaci'on de padres (o no\_padres), 
$\pi$ y $\pi^{-1}$ calculada anteriormente. Esta vez s'i agregamos un arreglo con el 
padre de cada v'ertice. Si un v'ertice no tiene padre, le asignamos 
\textit{cantidadVertices} como padre.  

En el paper se omite el an'alisis de qu'e hacer cuando el grafo no es conexo. 
Una posibilidad ser'ia anexar los 'arboles arbitrariamente. Nosotros optamos 
por devolver 'arboles indepedientes por componente conexa, ya que es 
un resultado m'as claro a la vista. Para ello hacemos una corrida del algortimo 
por cada ra'iz.

Para ubicar las ra'ices del 'arbol recorremos el arreglo de padres y buscamos 
los nodos que tengan \textit{cantidadVertices} como padre.

El recorrido DFS del 'arbol del orden de eliminaci'on se logra empezando desde la ra'iz 
y luego apilando los hijos para recorrerse a continuaci'on. En realidad, lo que se apila
es un par compuesto por el v'ertice que corresponde y un putnero al nodo del 'arbol que
contiene la clique de su padre.

Las comparaciones se realizan con el m'etodo de an'alisis de inclusi'on 
del test de cordalidad, al que le sumamos comparaciones de tama~no de los 
conjuntos para analizar la igualdad.

Para armar el arbol del complemento, se realizan las modificaciones pertinentes del paper. 
Para la condici'on de igualdad, se utiliza $\pi^{-1}$ para marcar s'olo los 
vecinos a derecha del no\_padre del v'ertice analizado (sin aumentar la complejidad).

Al final del algoritmo el paper sugiere anexar a cada clique la vecindad de su 
 v'ertice leftmost, esta operaci'on puede hacerse en $O(n+m)$. Para poder 
 analizar mejor los resultados, nosotros anexamos a cada clique sus verdaderos 
 v'ertices, que resultan de calcular los no\_vecinos a derecha del v'ertice leftmost. 
 Esta operaci'on se realiza en $O(n)$ para cada v'ertice, aumentando la 
 complejidad a $O(n^2)$.
 